1. Field of the Invention
The present invention relates to decoders in the case of demodulating a received signal in mobile communications, and particularly to a turbo decoder.
2. Description of the Related Art
In mobile communications, it is necessary to prevent incorrect reception of the contents of transmission due to phasing, multipath, and noise during signal transmission. Accordingly, a transmission signal is often encoded at a transmission end and subjected to error detection and correction at a reception end.
For instance, information such as an IP (Internet Protocol) packet is transmitted as follows. An IP packet that can be relatively large in size is divided into packet data units (PDU) of a predetermined small size at the transmission end. A cyclic redundancy check (CRC) code is added to each packet data unit. A predetermined number of packet data units to each of which the CRC code is added are reconnected to form the signal contents of a single block. Turbo coding for increasing error correction capability is performed on each of these blocks. The blocks are transmitted after being further subjected to puncturing for increasing transmission rate. A signal is divided into packet data units relatively small in size mainly in order to eliminate the necessity of a large-capacity memory and a processor of high computing power at the reception end. Further, multiple packet data units are joined to form a block because a long data sequence is preferable in terms of improving encoding quality such as block error rate.
At the reception end, de-puncturing is performed on a received signal so that a predetermined data bit is inserted into the position of a bit removed at the time of puncturing. Turbo decoding is performed on this signal block by block so that the correctness of the entire block is checked using the CRC code added to each packet data unit. If there is no error, the individual packet data units are joined to each other so that the transmitted desired data is restored. If an error is detected, decoding calculations are reperformed, or retransmission from the transmission end is requested.
In general, a turbo decoder employed in such decoding includes multiple (for instance, two) decoders and an error detector connected to the output of the rearmost decoder. One of the decoders performs decoding calculations with a signal from another one of the decoders, and provides its output to the other one of the decoders. By exchanging likelihood information on the likelihood of the signal contents between the decoders, decoding is performed repetitively. Likelihood information input to a decoder is referred to as preliminary likelihood information, and likelihood information output from the decoder is referred to as extrinsic likelihood information. However, there is no strict distinction between the preliminary likelihood information and the extrinsic likelihood information (for instance, extrinsic likelihood information from a first decoder may be used as preliminary likelihood information for the next second decoder). A turbo decoding method is disclosed in, for instance, Japanese Laid-Open Patent Application No. 2000-201085 (Patent Document 1). A turbo decoder itself is disclosed in, for instance, Japanese Laid-Open Patent Application No. 2001-230677 (Patent Document 2).
FIGS. 1 and 2 are block diagrams for illustrating a conventional method of turbo encoding and decoding. FIG. 1 is a block diagram of signal processing related to turbo encoding performed at a transmission end. In general, a signal sequence X to be transmitted is transmitted as signal sequences of three forms. A first signal sequence xa is transmitted in the exact form of the input signal sequence. A second signal sequence xb is created by subjecting the input signal sequence to convolutional encoding in a convolutional encoder 102. A third signal sequence xc is created by subjecting the input signal to convolutional encoding in a convolutional encoder 106 after changing data order in the signal sequence in an interleaver 104. These signal sequences of three lines are transmitted to a reception end after being subjected to modulation.
FIG. 2 is a block diagram of signal processing related to turbo decoding performed at the reception end. The received signals are demodulated, and three signal sequences ya, yb, and yc corresponding to the signal sequences of three lines xa, xb, and xc created at the transmission end are obtained. These signals are signals after a soft decision, that is, signals before a hard decision related to binary signal determination such as “0” or “1” is made. In general, a signal after a soft decision (soft decision data) is expressed in multi-bit floating-point notation.
A turbo decoder includes a first decoding part 202, to which the first and second input signal sequences ya and yb and preliminary likelihood information Le2′ are input. Based on these input signals, the first decoding part 202 outputs a first output signal L1 and extrinsic likelihood information Le1, which are decoding results.
The first input signal sequence ya is interleaved by an interleaver 204 to be input to a second decoding part 208. The first extrinsic likelihood information Le1 from the first decoding part 202 is also interleaved by an interleaver 206 to be input to the second decoding part 208. The third input signal sequence yc is also input to the second decoding part 208. That is, the first decoding part 202 performs decoding based on the non-interleaved signals, while the second decoding part 208 performs decoding based on the interleaved signals. In this case, Le1′, which is the interleaved first extrinsic likelihood information Le1 from the first decoding part 202, is input to the second decoding part 208 as preliminary likelihood information. The second decoding part 208 outputs a second output signal L2 and extrinsic likelihood information Le2, which are decoding results.
The extrinsic likelihood information Le2 is input (fed back) to the first decoding part 202 as preliminary likelihood information after being deinterleaved by a deinterleaver 210. The second output signal L2 from the second decoding part 208 is deinterleaved by a deinterleaver 212 to be input to a hard decision part 214. The deinterleavers 210 and 212 are means for restoring the data order that has been rearranged by the interleavers 204 and 206 and the interleaver 104 (FIG. 1) at the transmission end. The hard decision part 214 makes a hard decision on soft decision data included in the decoded signal, and creates a binary-signal data sequence U(k) (k represents a sample number). The data sequence U(k) after the hard decision is input to an error check part 216. The error check part 216 performs a cyclic redundancy check (CRC) on all packet data units (PDUs) included in the data sequence U(k) of one block after the hard decision.
The first and second decoding parts 202 and 208 output the decoded signals L1 and L2 repetitively, exchanging extrinsic likelihood information with each other. By repetitively feeding back extrinsic likelihood information to each other, error correction capability in decoding can be improved compared with a case without performing it. The decoding result thus calculated is subjected to a hard decision in the hard decision part 214 and to error checking in the error check part 216. If no error is detected with respect to any packet data unit, this shows that the block is received and decoded satisfactorily, so that the processing of a later stage not graphically illustrated is caused to proceed. If an error is detected, this shows that the reception and decoding of the block includes an error, so that, for instance, retransmission is requested from the transmission end, or the number of repetitions of decoding is increased, thereby restoring appropriate data.